/**
 * Created by xiejinwei on 2016/11/18.
 */
/**
 * 显示文件上传弹出层
 * @param option 参数
 * {
 *    groupName:分组名,同意编辑界面中，根据实际业务务必要保证分组名不重复,否则会出现之前缓存的临时文件丢失
 *    isImg:是否图片临时文件上传
 *    imgMaxWidth:图片文件允许的最大宽度,isImg为tru时生效
 *    imgMaxHeight:图片文件允许的最大高度,isImg为tru时生效
 *    sizes:缩放尺寸(格式：宽度-高度,宽度-高度,宽度-高度....),如：500-300,400-300,isImg为tru时生效
 *    accept:{//指定接受哪些类型的文件
 *        title:文字描述
 *        extensions:允许的文件后缀，不带点，多个用逗号分割。
 *        mimeTypes:多个用逗号分割。
 *    }
 *    size:文件上传组件层大小，small 小,large 大
 *    title:文件上传组件层标题
 *    width:文件上传组件层宽度
 *    height:文件上传组件层高度
 *    fileNumLimit:验证文件总数量, 超出则不允许加入队列。
 *    fileSizeLimit:验证文件总大小是否超出限制, 超出则不允许加入队列。
 *    fileSingleSizeLimit:验证单个文件大小是否超出限制, 超出则不允许加入队
 *
 * }
 * @param confirmCallback 点击确认的回调函数
 * @param cancelCallback 点击取消的回调函数
 */
function showUploadFileDialog(option, confirmCallback, cancelCallback) {
    option = option || {};
    if (!option.groupName) {
        bootbox.alert({
            title: "调起文件上传组件失败",
            message: "请传递参数:option.groupName",
            size: 'small'
        });
        return false;
    }
    option.size = "large" || option.size;
    option.title = "文件上传" || option.title;
    option.width = option.width || $(window).width() * 0.8;
    option.height = option.height || ($(window).height() - 120);
    var requestParams = jsonToRequestParams(option);
    var serialize = new Date().getTime();
    requestParams = requestParams + "&serialize=" + serialize;
    $(".uploadDialog").remove();
    bootbox.dialog({
        size: option.size,
        className: "uploadDialog",
        title: option.title,
        message: '<iframe name="uploadDialotFrame" id="uploadDialog' + serialize + '" src="switchView.do?&viewPath=common/fileUpload/uploadDialog.html&' + requestParams + '" style="width:100%;height:100%;border:0px;margin:0px;padding:0px;"></iframe>',
        buttons: {
            confirm: {
                label: '取消',
                className: 'btn-success',
                callback: function (result) {
                    window.frames["uploadDialotFrame"].cancelCallback(cancelCallback);
                }
            },
            cancel: {
                label: '确认',
                className: 'btn-danger',
                callback: function () {
                    window.frames["uploadDialotFrame"].confirmCallback(confirmCallback);
                }
            }
        },
        onEscape: function () {
            window.frames["uploadDialotFrame"].cancelCallback();
        }
    });
}